ACM-2025-03-02

Jahrgang: 2025
Ausgabe: 03
Autor: Markus Hoffmann
Programm: ACMTEXTSWAPPER.LSP
Funktionalitt: Textinhalt von zwei Texten vertauschen. Untersttzt Texte, MTexte, Attribute, Attributdefinitionen, Multifhrungen, Bemaungstexte und Texte in Blcken und Tabellen 
Format: LISP
Lauffhig ab: AutoCAD 2024 / BricsCADV24
Befehle: acmTeswa
Bezug: Online


Beschreibung
============

Textinhalte austauschen

Exotisches Problem oder gar nicht abwegig: Die Textinhalte zweier Objekte sollen ausgetauscht werden. 
Ja, es ist in aller Regel eine Kleinigkeit, einen der Texte in die Zwischenablage zu kopieren und/oder 
neu zu schreiben. Viel cooler ist es aber, das nicht machen zu mssen, sondern ein Tool dafr zu haben.
ACMTEXTSWAPPER.LSP stellt genau diese Funktion zur Verfgung. Das Tool fordert zur Wahl zweier 
Textobjekte auf und vertauscht anschlieend ihre Inhalte. Alle brigen Eigenschaften des Originalobjekts 
bleiben erhalten. Da es in Zeichnungsdateien manchmal nicht klar ist, um welche Art Text es sich bei 
einem Objekt handelt, kann folglich kein objektspezifisches Werkzeug verwendet werden. Daher funktioniert 
das Tool objektartbergreifend. Gemeint ist, dass die AutoCAD-Evolution viele verschiedene Textobjekte 
hervorgebracht hat und die Entwickler den Zugriff auf diese Objekte entsprechend unterschiedlich gestaltet 
haben. 
Ein Text kann ein einfaches Textobjekt, ein MText-Objekt, ein Attributs- oder Attributdefinitionsobjekt, 
Text einer Bemaung, einer Fhrung, einer Multifhrung, ein Text in einer Tabelle sein oder eines all 
dieser Objekte verschachtelt in einem Block und statt normalem Text knnte ein Schriftfeld angezeigt 
werden. Die per Code erreichbare bliche Eigenschaft fr den Textinhalt TextString ist entsprechend 
nicht immer verwendbar. 
Das Programm identifiziert selbstndig sowohl das korrekte Objekt als auch die passende Eigenschaft und 
liest und schreibt die gewnschte Zeichenkette. Diese Identifikationsarbeit ist bis auf Ausnahmen 
ausgegliedert in die Sub-Funktion (mx:Object&TProp). Um den Code nicht unntig aufzublhen, wurde der 
Trick verwendet, die Objektauswahl fr die zu tauschenden Textinhalte mit der Funktion GetSubEntity 
durchzufhren. Sie gibt das passende Objekt zurck, unerheblich, ob es verschachtelt ist oder nicht.Mit 
diesen Funktionen ausgestattet, erlaubt es das Tool, Textinhalte beispielsweise von einem MText und 
einem Text in einer Tabelle zu tauschen oder etwa von einem Text und einer Bemaung.